package com.wmh.baseservice.user.service;

import com.alibaba.fastjson.JSONArray;
import com.wmh.baseservice.admin.pojo.AdGoods;
import com.wmh.baseservice.common.mybatisplus.methods.CommonService;
import com.wmh.baseservice.merchant.pojo.MerchantGoods;
import com.wmh.baseservice.skd.pojo.SkdGoodsSpec;
import com.wmh.baseservice.user.pojo.UsAddress;
import com.wmh.baseservice.user.pojo.UsGoodsOrder;
import com.wmh.baseservice.user.pojo.UsInfo;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author mmx generator
 * @since 2021-12-24
 */
public interface UsGoodsOrderService extends CommonService<UsGoodsOrder> {

    /**
     * 发货
     */
    void delivery(UsGoodsOrder usGoodsOrder);

    /**
     * 购物车结算
     */
    List<String> shopCar(Long id, Long usId, JSONArray adGoodsArray, JSONArray merchantGoodsArray, List<AdGoods> adGoodsList, List<MerchantGoods> merchantGoodsList, List<SkdGoodsSpec> skdGoodsSpecList);

    /**
     * 订单余额支付
     */
    void balancePay(BigDecimal bigDecimal, UsInfo usInfo, JSONArray orderNumList);

    /**
     * 普通订单取消
     */
    void cancelOrder(Long value);

    /**
     * 提交订单
     */
    void add(UsGoodsOrder usGoodsOrder, AdGoods adGoods, MerchantGoods merchantGoods, SkdGoodsSpec skdGoodsSpec, UsAddress usAddress);

    /**
     * 确认收货
     */
    void theGoods(UsGoodsOrder usGoodsOrder);
}
